//
//  HFUserAccountTools.swift
//  HFWeChat
//
//  Created by 黄来峰 on 16/4/22.
//  Copyright © 2016年 itcast. All rights reserved.
//

import UIKit

class HFUserAccountTools: NSObject {
    //设置全局访问点
    static let sharedTools: HFUserAccountTools = HFUserAccountTools()
    var userAccount: HFUserAccountModel?
    
    //判断是否登录的属性
    var isLogin: Bool{
        if userAccount?.access_token == nil{
        
        return false
        }else{
        
        return true
        }
    
    
    }
    
    //登录令牌
    var access_token: String?{
        if (userAccount?.access_token != nil ){
            //如果没有过期
            if !isExpires{
            
                return userAccount?.access_token
            }else{
            //过期了
            return nil
            }
        }else{

        return nil
        }
    }         //设置属性用来保存用户获得的accessToken是否过期
    var isExpires: Bool{
        let date = userAccount?.expires_Date
        if date?.compare(NSDate()) == NSComparisonResult.OrderedDescending{
            return false
        }else{
            return true
        }
        
    }
    
    
    //获取存取文件的路径
    let Path = (NSSearchPathForDirectoriesInDomains(.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true).last! as NSString).stringByAppendingPathComponent("userAccount.archiver")
    //保存数据的方法
    func saveUserAccount(model: HFUserAccountModel){
        //先保存为属性
        userAccount = model
        
        //使用NSKeyedArchiver进行归档持久保存数据的方法
        NSKeyedArchiver.archiveRootObject(model, toFile: Path)
        
        
    }
    //重写init方法，在方法中为userAccount赋初始值
    override init() {
        super.init()
        userAccount = getUserAccount()
    }
    
    //读取数据的方法
    func getUserAccount() -> HFUserAccountModel?{
        
        
        let result = NSKeyedUnarchiver.unarchiveObjectWithFile(Path) as? HFUserAccountModel
        return result
        
    }
    
    
    
    
}
